﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;

namespace 发邮件
{
    public class Email
    {
        /// <summary>
        /// 发送方发送方服务器地址
        /// </summary>
        public string strHost { get; set; }

        /// <summary>
        /// 发送方帐号
        /// </summary>
        public string strAccount { get; set; }

        /// <summary>
        /// 发送方密码
        /// </summary>
        public string strPwd { get; set; }

        /// <summary>
        /// 发送方邮件地址
        /// </summary>
        public string strFrom { get; set; }

        /// <summary>
        /// 接收方邮件地址
        /// </summary>
        public string to { get; set; }

        /// <summary>
        /// 邮件标题
        /// </summary>
        public string title { get; set; }

        /// <summary>
        /// 邮件正文内容
        /// </summary>
        public string content { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public string sfile { get; set; }



        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="strHost">发送方发送方服务器地址</param>
        /// <param name="strAccount">发送方帐号</param>
        /// <param name="strPwd">发送方密码</param>
        ///  <param name="strFrom">发送方邮件地址</param>
        /// <param name="to">接收方邮件地址</param>
        /// <param name="title">邮件标题</param>
        /// <param name="content">邮件正文内容</param>
        /// <param name="sfile">邮件附件</param>
        /// <returns></returns>
        public string sendMail(Email e)//string strHost, string strAccount, string strPwd, string strFrom, string to, string title, string content
        {
            SmtpClient smtpClient = new SmtpClient();
            if (string.IsNullOrEmpty(e.strHost))
            {
                e.strHost = "smtp.sina.cn";//新浪测试
            }
            if (string.IsNullOrEmpty(e.strAccount))
            {
                e.strAccount = "xxx";
            }
            if (string.IsNullOrEmpty(e.strPwd))
            {
                e.strPwd = "xxx";
            }
            if (string.IsNullOrEmpty(e.strFrom))
            {
                e.strFrom = "xxx";
            }
            smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            smtpClient.Host = e.strHost; ;//指定SMTP服务器
            smtpClient.UseDefaultCredentials = true;
            smtpClient.Credentials = new System.Net.NetworkCredential(e.strAccount, e.strPwd);//用户名和密码


            MailMessage mailMessage = new MailMessage(e.strFrom, e.to);
            mailMessage.Subject = e.title;//主题
            mailMessage.Body = e.content;//内容
            mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
            mailMessage.IsBodyHtml = true;//设置为HTML格式
            mailMessage.Priority = MailPriority.High;//优先级

            //// 添加附件
            //if (e.sfile != "")
            //{
            //    mailMessage.Attachments.Add(new Attachment(e.sfile));
            //}
            try
            {
                smtpClient.Send(mailMessage);
                mailMessage.Dispose();//释放资源
                return "成功";
            }
            catch (Exception ex)
            {

                return ex.ToString();
            }
        }



    }
}